Typical bar code reading systems, such as the one described in U.S. Pat. No. 4,496,831, assigned to the same assignee as the present invention, generally include a light source, an optical system having focusing lenses for directing the light source across a bar code symbol, and a sensing means for detecting reflected light from the target bar code symbol being scanned. The light source is usually a semiconductor laser diode. The light generated by the laser diode passes through the optic train which focuses the beam to impinge upon the scanning means which is mounted in the light path within the scanning head of the device. The scanning means sweeps the laser beam across the bar code symbol and comprises at least one scanning motor. Light reflecting means such as mirrors are mounted on a motor shaft to direct the beam through an outlet port to the symbol. The sensing means then detects and processes the light reflected off the symbol, and generally comprises photosensitive elements such as a semiconductor photodiode. The detected light is converted into an electrical signal and is then passed through a receiver where the signal is amplified, processed, and subsequently decoded.
An Automatic Gain Control ("AGC") circuits are presently used in certain prior art laser scanning devices to dynamically adjust the overall receiver gain. The use of an AGC circuit allows the laser scanning device to decode symbols over larger distances than would be possible if the receiver gain of the device was fixed.
The AGC circuitry presently used in laser scanning devices requires many scans to correctly adjust overall receiver gain. This is because the response time of the AGC is dependent upon various factors including the configuration of the target bar code symbol being scanned, the physical distance between the bar code symbol and the scanner, and the amount of ambient light present in the field of view of the scanner. For instance, depending upon the ambient light conditions and the bar code symbol being scanned, the AGC response time can range from several hundred milliseconds and, in extreme cases, can be as long as several seconds. An example of how long AGC response time can be is shown by department store cashiers who use a hand-held laser scanner to decode the bar code symbols present on the merchandise. In many instances, the cashier must repeatedly scan the same symbol until the correct decodable symbol is obtained.
A typical analog AGC is disclosed in the U.S. Pat. No. 5,168,148, issued to Giebel and assigned to the assignee of the present invention. U.S. Pat. No. 5,168,148 is incorporated herein by reference. The receiver gain is controlled by monitoring and regulating the peak average value of the receiver's output signal. The receiver is comprised of several discrete amplifier stages that are connected in tandem to deliver a large overall gain from the input to the output of the receiver. The AGC circuit senses the final output of the receiver and adjusts the gain of one of the discrete amplifiers that is located in an early stage of amplification in the receiver. In effect, a feedback path is created from the output of the receiver through the AGC circuit to one amplifier that has an adjustable gain feature that the AGC circuit controls. This feedback allows the AGC circuit to regulate the output of the receiver at a constant amplitude despite any fluctuations in the magnitude of the input signal. The AGC circuit peak detects and filters the output signal which results in a direct current (d.c.) voltage which is proportional to the average peak value of the received signal. The circuit then compares this average peak value of the output signal to a fixed d.c. reference voltage and dynamically adjusts receiver gain in an attempt to reduce any difference between these two voltages.
The average peak value of the output voltage is used because it makes the AGC impervious to short duration large excursions of the output voltage which otherwise would introduce large errors in receiver gain. For example, a signal received by a bar code scanner could contain undesired receiver output excursions that result from reflections off of packaging material that is adjacent to the bar code being scanned. In sensing the average peak output, the AGC will be less sensitive to these undesirable signal excursions. Unfortunately, in order to accurately determine the average peak receiver output, the AGC requires many cycles of the input signal to reach a steady state gain setting. In some instances, it could take a long time for the AGC to finally set receiver gain properly.
The amount of time the AGC requires to reach steady state, for a given input, is commonly referred to as "attack time." Reducing the attack time in an AGC circuit, however, will also increase the error in the steady state output signal amplitude. Traditionally, the circuit designer in designing an AGC, trades off accuracy for any reduction in attack time. The end result of the design is an AGC that is relatively slow due to the accuracy requirements.
The AGC of the U.S. Pat. No. 5,168,148 has two inputs and a single output for AGC control. While having two inputs generally provides for preemptive sampling and may speed the AGC attack time, one of the two AGC inputs of the U.S. Pat. No. 5,168,148 is active only upon startup of the receiver and is essentially out of the circuit during normal operation of the system. In addition, the AGC circuit has a limitation on the maximum gains due to circuit instabilities.
In addition to the limitation imposed by the "attack time", the AGC response time is limited by the presence of large low-frequency components in the output signal. Large low-frequency components can cause the output amplifier to saturate. As a result, the higher frequency components of the output voltage signal which are used to set receiver gain, are clipped and therefore will not contribute to the gain setting action of the AGC. In extreme cases, the saturation of the output amplifier could cause large errors in the gain setting of the received signal which could result in a failure to decode the symbol being scanned.
In addition, the prior art AGC circuits set the initial system gain at maximum and then relatively slowly reduce the gain in cases where the input signals have relatively large amplitudes.
Also, prior art AGC systems use large capacitors to detect signal peaks and to set the AGC attack times. The use of large capacitors increases the required circuit real estate and introduces size limitations. As such, the prior art AGC circuits using large capacitors may not be designed into a single integrated circuit.
Other prior art AGC systems, such as the one disclosed in U.S. Pat. No. 5,668,505, issued to Vu et al. and assigned to the assignee of the present invention, use single input dual output AGC control. U.S. Pat. No. 5,668,505 to Vu et al. is also incorporated herein by reference. While this type of digital AGC system can control the gains of more than one amplification stage, the AGC circuit determines the stage gain settings based only on the value of a single input signal, which is either the output of the last amplification stage or the modified output of the last amplification stage. Thus, there is no preemptive sampling of the multiple stages in order to find an in-range signal, and the "attack time" may still be relatively slow.